Smart appliance functionality

ABSTRACT

A communications network, system, and method includes a server; a primary device in communication with the server through a communications channel, wherein the primary device comprises a component that detects data transmissions from the server, and transmits the detected data transmissions; and a secondary device connected to the primary device, wherein the secondary device automatically performs self diagnosis relating to operational performance of the secondary device in response to the data transmissions. The remotely programmable apparatus comprises any of an appliance and an entertainment device, wherein the appliance comprises any of a refrigerator, a telephone, a stove, and a clock. The server generates computer executable commands that are executable by the secondary device and comprises any of queries, instructions, and messages. The secondary device comprises a processor that collects operational data relating to the secondary device, and provides a diagnosis of a performance of the secondary device.

STATEMENT OF RELATED CASES

This application is a continuation of U.S. application Ser. No. 11/524,117, filed Sep. 20, 2006, which is a continuation of U.S. application Ser. No. 11/150,301, filed Jun. 13, 2005, which is a continuation of U.S. application Ser. No. 09/658,209, filed Sep. 8, 2000, now U.S. Pat. No. 6,968,375, which is a continuation in part of U.S. application Ser. No. 09/300,856, filed Apr. 28, 1999, now U.S. Pat. No. 6,368,273, which is a divisional application of application Ser. No. 08/946,341, filed Oct. 7, 1997, now U.S. Pat. No. 5,997,476, which is a continuation in part of application Ser. No. 08/847,009, filed Apr. 30, 1997, now U.S. Pat. No. 5,897,493 which, in turn claims the benefit of Provisional applications 60/041,746 and 60/041,751, both filed Mar. 28, 1997.

This application is also related to: (i) U.S. Pat. Nos. 5,985,559 and 6,101,478, both continuations in part of U.S. Pat. No. 5,897,493; (ii) U.S. Pat. No. 6,248,065, a divisional of U.S. Pat. No. 5,997,476; (iii) U.S. Pat. No. 6,270,455, a continuation in part of U.S. Pat. No. 5,997,476; (iv) U.S. Pat. No. 6,381,577, which is a continuation of U.S. Pat. No. 6,101,478; (v) abandoned application Ser. No. 09/531,237, a continuation in part of U.S. Pat. No. 6,368,273 and Ser. No. 09/378,188 a continuation of U.S. Pat. No. 5,985,559; (vi) co-pending application Ser. No. 10/279,749, which is a continuation in part of application Ser. No. 10/233,296, which is a continuation in part of co-pending application Ser. No. 09/665,442, which is a continuation in part of U.S. Pat. No. 6,381,577, and (vii) co-pending applications (a) 11/093,167, (b) 11/093,168, (c) 11/132,427 and (d) 11/150,301. Each of the patents and/or applications referenced are incorporated by reference.

FIELD OF THE INVENTION

The present invention relates generally to communication systems for remote monitoring of individuals, and in particular to a networked system for remotely monitoring individuals and for communicating information to the individuals through the use of script programs.

BACKGROUND OF THE INVENTION

In the United States alone, over 100 million people have chronic health conditions, accounting for an estimated $700 billion in annual medical costs. In an effort to control these medical costs, many healthcare providers have initiated outpatient or home healthcare programs for their patients. The potential benefits of these programs are particularly great for chronically ill patients who must treat their diseases on a daily basis. However, the success of these programs is dependent upon the ability of the healthcare providers to monitor the patients remotely to avert medical problems before they become complicated and costly. Further, success requires compliance with the program, which is often dependent on providing messages or other reminders to patients so that they will stay with the program. Unfortunately, no convenient and cost effective monitoring system exists to accomplish these objectives. While these problems are particularly acute for the poor and the elderly, all demographic groups could significantly benefit from remote communication and monitoring systems.

Prior attempts to monitor patients remotely have included the use of personal computers and modems to establish communication between patients and healthcare providers, either directly or via an Internet site. However, computers are too expensive to give away and the patients who already own computers are only a fraction of the total population.

Other attempts to monitor patients remotely have included the use of medical monitoring devices with built-in modems. Examples of such monitoring devices include blood glucose meters, respiratory flow meters, and heart rate monitors. While these devices can be quite successful, their multimedia capabilities are often limited. In addition, many patients simply may prefer to interact with a device they are more familiar with, such as a television.

Prior attempts to monitor patients remotely have also included the use of interactive telephone or video response systems. Such interactive systems are disclosed in U.S. Pat. No. 5,390,238 issued to Kirk et al. on Feb. 14, 1995, U.S. Pat. No. 5,434,611 issued to Tamura on Jul. 18, 1995, and U.S. Pat. No. 5,441,047 issued to David et al. on Aug. 15, 1995. One disadvantage of these systems is that they either require a patient to call in to a central facility to be monitored or require the central facility to call the patient according to a rigid monitoring schedule.

If the patients are required to call the central facility, only the compliant patients will actually call regularly to be monitored. Non-compliant patients will typically wait until an emergency situation develops before contacting their healthcare provider, thus defeating the purpose of the monitoring system. If the central facility calls each patient according to a monitoring schedule, it is intrusive to the patient's life and resistance to the monitoring grows over time. Further, it is difficult to identify each patient uniquely using these systems. Moreover, these systems are generally incapable of collecting medical data from monitoring devices, such as blood glucose meters, respiratory flow meters, or heart rate monitors.

As such, there exists a need for a simple and inexpensive system for remotely monitoring patients and for easily communicating information to the patients. There is also a need to encourage patient's compliance with a prescribed treatment plan.

SUMMARY

The present invention provides a system for remotely interacting with an individual. The system includes a server, a remote interface device for assigning in the server a set of queries to be answered by the individual, a remotely programmable apparatus for interacting with the individual and a broadcaster in communication with the server and the remotely programmable apparatus.

By using the entertainment medium of interactive television with its ability to receive a large bandwidth of data, the present invention can more easily communicate interactive entertaining/educational information to potential and existing patients. The interactive nature of the received data makes it easy for a user to access interactive programs related to corresponding entertainment/advertisement content or related to user adherence to a predefined regimen.

In accordance with another aspect of the present invention, an answering service sends a series of questions as voice communication from a stored set of questions to the remote apparatus for the individual to respond to, when the voice communication button is activated. The answering service stores responses to each provided question in the series of questions and provides a service based on the individual's response to the questions. The provided service is communication with a health care professional or a service provider. Also, the answering service includes a speech recognition component for receiving spoken responses to the series of questions and a speech synthesis component for making the set of queries into a series of questions.

In accordance with yet another aspect of the present invention, the remotely programmable apparatus includes an appliance component for providing appliance functionality. The appliance component is an alarm clock, a kitchen appliance, or an entertainment device.

In accordance with still another aspect of the present invention, the remotely programmable apparatus includes a monitoring component for producing measurements of a physiological condition of the individual.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a block diagram of networked system formed in accordance with a first embodiment of the present invention;

FIG. 2 is a block diagram illustrating the interaction of the components of the system of FIG. 1;

FIG. 3 is a perspective view of a remotely programmable apparatus of the system of FIG. 1;

FIG. 4 is a block diagram illustrating the components of the apparatus of FIG. 3;

FIG. 5 is a script entry screen according to the preferred embodiment of the invention;

FIG. 6A is a listing of a sample script program according to the preferred embodiment of the invention;

FIG. 6B is a continuation of the listing of FIG. 6A;

FIG. 7 is a script assignment screen according to the preferred embodiment of the invention FIG. 8 is a sample query appearing on the apparatus of FIG. 1A-D;

FIG. 9 is a sample prompt appearing on the display of the apparatus of FIG. 3;

FIG. 10 is a sample report displayed on a workstation of the system of FIG. 1A-D;

FIG. 11A is a flow chart illustrating the steps included in a monitoring application executed by the server of FIG. 1A-D according to the present invention;

FIG. 11B is a continuation of the flow chart of FIG. 11A;

FIG. 12A is a flow chart illustrating the steps included in the script program of FIG. 6A-6B;

FIG. 12B is a continuation of the flow chart of FIG. 12;

FIG. 13 is a perspective view of a remotely programmable apparatus according to an embodiment of the present invention;

FIG. 14 is a sample prompt appearing on a display of the apparatus of FIG. 13;

FIG. 15 is a block diagram illustrating the components of the apparatus of FIG. 13;

FIG. 16 is a schematic block diagram illustrating the interaction of the server of FIG. 1A-D with the apparatus of FIG. 3 according to another embodiment of the present invention;

FIG. 17 is a first sample message appearing on the display of the apparatus of FIG. 3;

FIG. 18 is a second sample message appearing on the display of the apparatus of FIG. 3;

FIG. 19 is a script entry screen according to an embodiment of the present invention;

FIGS. 20 and 21 are block diagrams of alternate embodiments of the present invention;

FIG. 22 is a flow chart illustrating the process performed by the system of FIG. 21; and

FIGS. 23 and 24 are example broadcast programming presentations with an included script program.

DETAILED DESCRIPTION

The present invention provides a system and method for remotely monitoring individuals and for increasing individual use of health programs. In a first embodiment of the invention, the individuals are patients and the system is used to collect data relating to the health status of the patients. However, it is to be understood that the invention is not limited to remote monitoring of patients. The system and method of the invention may be used for any type of remote monitoring and program adherence application. The invention may also be implemented as an automated messaging system for communicating information to individuals, as will be discussed in an alternative embodiment below.

A first embodiment of the invention is illustrated in FIG. 1A and 2-12. Referring to FIG. 1, a networked system 16 includes a server 18 and a workstation 20 connected to the server 18 through a communication network 24. The server 18 is preferably a world wide web server and the communication network 24 is preferably the Internet. It will be apparent to one skilled in the art that the server 18 may comprise a single stand-alone computer or multiple computers distributed throughout a network. The workstation 20 is preferably a personal computer, remote terminal, or web TV unit connected to the server 18 via the Internet. The workstation 20 functions as a remote interface for entering in the server 18 messages and queries to be communicated to the patients.

The system 16 also includes multiple remotely programmable apparatus, such as first and second apparatuses 26 for monitoring multiple patients. Each apparatus 26 is designed to interact with a patient in accordance with script programs received from the server 18. Each apparatus 26 is in communication with the server 18 through the communication network 24, preferably the Internet. Alternatively, each apparatus 26 may be placed in communication with the server 18 via wireless communication networks, cellular networks, telephone networks, satellite networks or any other network which allows each apparatus 26 to exchange data with the server 18. It is to be understood that the system 16 may include any number of remotely programmable apparatuses for monitoring any number of patients.

In the preferred embodiment, each patient to be monitored is also provided with a monitoring device 28. The monitoring device 28 is designed to produce measurements of a physiological condition of the patient, record the measurements, and transmit the measurements to the patient's remotely programmable apparatus through a standard connection cable 30. Examples of suitable monitoring devices 28 include blood glucose meters, respiratory flow meters, blood pressure cuffs, electronic weight scales, and pulse rate monitors. Such monitoring devices are well known in the art. The specific type of monitoring device 28 provided to each patient is dependent upon the patient's disease or health treatment needs. For example, diabetes patients are provided with a blood glucose meter for measuring blood glucose concentrations, asthma patients are provided with respiratory flow meters for measuring peak flow rates, obesity patients are provided with weight scales, etc.

FIG. 2 shows the server 18, the workstation 20, and the apparatus 26 in greater detail. The server 18 includes a database 38 for storing script programs 40. The script programs 40 are executed by each apparatus 26, to communicate queries and messages to a patient, receive responses 42 to the queries, collect monitoring device measurements 44, and to transmit responses 42 and measurements 44 to the server 18. The database 38 is designed to store responses 42 and measurements 44. The database 38 further includes a look-up table 46. The table 46 contains a list of the patients to be monitored, and for each patient, a unique patient identification code and a respective pointer to one or more script programs 40 assigned to the patient. Each remotely programmable apparatus 26 is designed to execute assigned script programs 40 received from the server 18. The script programs 40 may include queries, reminder messages, informational statements, useful quotations, or other information of benefit to the patient. See Appendix A for example script programs.

FIG. 3-4 show the structure of a remotely programmable apparatus 26 according to the preferred embodiment. Referring to FIG. 3, the apparatus 26 includes a housing 62. The housing 62 is sufficiently compact to enable the apparatus 26 to be hand-held and carried by a patient. The apparatus 26 also includes a display 64 for displaying queries and prompts to the patient. In the preferred embodiment, the display 64 is a liquid crystal display (LCD).

The apparatus 26 includes five user input buttons 70A, 70B, 70C, 70D and 70E that are located on the same side of the apparatus 26 as the display 64. The user input buttons 70A-D are for entering in the apparatus 26 responses 42 to the queries and prompts. In the preferred embodiment, the user input buttons 70A-D are momentary contact push buttons. In alternative embodiments, user input buttons 70A-D may be replaced by switches, keys, a touch sensitive display screen, or any other data input device.

The user input button 70E is a emergency or other services button and is preferably red, but may be of any size, shape, or color that draws special visual or tactile attention to the user. The services provided by the user input button 70E are described in more detail below.

Three monitoring device jacks 68A, 68B, and 68C are located on a surface of housing 62. The device jacks 68A-C are for connecting the apparatus 26 to a number of monitoring devices 28, such as blood glucose meters, respiratory flow meters, or blood pressure cuffs (not shown in FIG. 3). The apparatus 26 also includes a modem jack 66 for connecting the apparatus 26 to a telephone jack through a standard connection cord (not shown). The apparatus 26 further includes a visual indicator, such as a light emitting diode (LED) 74. The LED 74 is for visually notifying the patient that he or she has unanswered queries stored in the apparatus 26.

FIG. 4 is a schematic block diagram illustrating the components of the apparatus 26 in greater detail. The apparatus 26 includes a microprocessor 76 and a memory 80 connected to the microprocessor 76. The memory 80 is preferably a non-volatile memory, such as a serial EEPROM. The memory 80 stores script programs 40 received from the server 18, measurements 44 received from the monitoring device 28, responses 42 to queries. The microprocessor 76 also includes built-in read only memory (ROM), which stores firmware for controlling the operation of the apparatus 26. The firmware includes a script interpreter used by the microprocessor 76 to execute the script programs 40. The script interpreter interprets script commands, which are executed by the microprocessor 76. Specific techniques for interpreting and executing script commands in this manner are well known in the art.

The microprocessor 76 is preferably connected to memory 80 using a standard two-wire interface. The microprocessor 76 is also connected to the user input buttons 70, the LED 74, a clock 84, and a display driver 82. The clock 84 indicates the current date and time to the microprocessor 76. For clarity of illustration, clock 84 is shown as a separate component, but is preferably built into the microprocessor 76. The display driver 82 operates under the control of the microprocessor 76 to display information on the display 64. The microprocessor 76 is preferably a PIC 16C65 processor. The modem 86 is connected to a telephone jack 22 through the modem jack 66. The modem 86 is for exchanging data between the server 18 and the processor 76 through the communication network 24. The data includes the script programs 40 which are received from the server 18 as well as the responses 42 to queries, the device measurements 44, the script identification codes, and the patient's unique identification code, which the modem 86 transmits to the server 18. The modem 86 is preferably a complete 28.8 K modem commercially available from Cermetek, although any suitable modem may be used. The processor 76 also includes a component that connects to the telephone jack 22 and a microphone 88 and a speaker 89, thereby allowing telephone calls to be processed.

The device interface 90 is connected to the device jacks 68A, 68B, and 68C. The device interface 90 is for interfacing with a number of monitoring devices 28, such as blood glucose meters, respiratory flow meters, blood pressure cuffs, weight scales, or pulse rate monitors, through device jacks 68A-C.

The device interface 90 operates under the control of the microprocessor 76 to collect measurements 44 from the monitoring devices 28 and to output the measurements to the microprocessor 76 for storage in the memory 80. In the preferred embodiment, the interface 90 is a standard RS232 interface. For simplicity of illustration, only one device interface 90 is shown in FIG. 4. However, in alternative embodiments, the apparatus 26 may include multiple device interfaces to accommodate monitoring devices that have different connection standards.

Referring again to FIG. 2, the server 18 includes a monitoring application 48. The monitoring application 48 is a controlling software application executed by the server 18 to perform the various functions described below. The application 48 includes a script generator 50, a script assignor 52, and a report generator 54. The script generator 50 is designed to generate the script programs 40 from script information entered through the workstation 20. The script information is entered through a script entry screen 56. In the preferred embodiment, script entry screen 56 is implemented as a web page on the server 18. The workstation 20 includes a web browser for accessing the web page to enter the script information.

FIG. 5 illustrates the script entry screen 56 as it appears on the workstation 20. The screen 56 includes a script name field 92 for specifying the name of a script program to be generated. The screen 56 also includes entry fields 94 for entering a set of queries to be answered by a patient. Each entry field 94 has corresponding response choice fields 96 for entering response choices for the query. The screen 56 further includes check boxes 98 for selecting a desired monitoring device 28, such as a blood glucose meter, respiratory flow meter, or blood pressure cuff, from which to collect measurements 44.

The screen 56 additionally includes a connection time field 100 for specifying a prescribed connection time at which each apparatus 26 executing the script is to establish a subsequent communication link to the server 18. The connection time is preferably selected to be the time at which communication rates are the lowest, such as 3:00 AM. The screen 56 also includes a CREATE SCRIPT button 102 for instructing script generator 50 to generate a script program 40 from the information entered in screen 56. The screen 56 further includes a CANCEL button 104 for canceling the information entered in screen 56.

In the preferred embodiment, each script program 40 created by script generator 50 conforms to the standard file format used on UNIX systems. In the standard file format, each command is listed in the upper case and followed by a colon. Every line in the script program 40 is terminated by a linefeed character {LF}, and only one command is placed on each line. The last character in the script program 40 is a UNIX end of file character {EOF}. Table 1 shows an exemplary listing of script commands used in the preferred embodiment of the invention.

TABLE 1 SCRIPT COMMANDS Command Description CLS: {LF} Clear the display. ZAP: {LF} Erase from memory the last set of query responses recorded. LED: b{LF} Turn the LED on or off, where b is a binary digit of 0 or 1. An argument of 1 turns on the LED, and an argument of 0 turns off the LED. DISPLAY: {chars}{LF} Display the text following the DISPLAY command. INPUT: mmmm {LF} Record a button press. The m's represent a button mask pattern for each of the four input buttons. Each m contains an “X” for disallowed buttons or an “0” for allowed buttons. For example, INPUT: 0X0X{LF} allows the user to press either button #1 or #3. WAIT: {LF} Wait for any one button to be pressed, then continue executing the script program. COLLECT: device{LF} Collect measurements from the monitoring device specified in the COLLECT command. The user is preferably prompted to connect the specified monitoring device to the apparatus and press a button to continue. NUMBER: aaaa{LF} Assign a script identification code to the script program. The script identification code from the most recently executed NUMBER statement is subsequently transmitted to the server along with the query responses and device measurements. The script identification code identifies to the server which script program was most recently executed by the remote apparatus. DELAY: t{LF} Wait until time t specified in the DELAY command, usually the prescribed connection time. CONNECT: {LF} Perform a connection routine to establish a communication link to the server, transmit the patient identification code, query responses, device measurements, and script identification code to the server, and receive and store a new script program. When the server instructs the apparatus to disconnect, the script interpreter is restarted, allowing the new script program to execute.

The script commands illustrated in Table 1 are representative of the preferred embodiment and are not intended to limit the scope of the invention. After consideration of the ensuing description, it will be apparent to one skilled in the art many other suitable scripting languages and sets of script commands may be used to implement the invention.

The script generator 50 preferably stores a script program template which it uses to create each script program 40. To generate a script program 40, the script generator 50 inserts into the template the script information entered in the screen 56. For example, FIG. 6A-6B illustrate a sample script program 40 created by the script generator 50 from the script information shown in FIG. 5.

The script program 40 includes display commands to display the queries and response choices entered in fields 94 and 96, respectively. The script program 40 also includes input commands to receive responses 42 to the queries. The script program 40 further includes a collect command to collect device measurements 44 from the monitoring device 28 specified in the check boxes 98. The script program 40 also includes commands to establish a subsequent communication link to the server 18 at the connection time specified in field 100 FIG. 5. The steps included in the script program 40 are also shown in the flow chart of FIG. 12A-12B and will be discussed in the operation section below.

Referring again to FIG. 2, the script assignor 52 is used to assign script programs 40 to the patients. The script programs 40 are assigned in accordance with script assignment information entered through workstation 20. The script assignment information is entered through a script assignment screen 57, which is preferably implemented as a web page on the server 18.

FIG. 7 illustrates a sample script assignment screen 57 as it appears on workstation 20. The screen 57 includes check boxes 106 for selecting a script program 40 to be assigned, and check boxes 108 for selecting the patients to whom the script program is to be assigned. The screen 57 also includes an ASSIGN SCRIPT button 112 for entering the assignments. When button 112 is pressed, the script assignor 52 creates and stores for each patient selected in check boxes 108 a respective pointer to the script program 40 selected in the check boxes 106. Each pointer is stored in the patient look-up table 46 of the database 38. The screen 57 further includes an ADD SCRIPT button 110 for accessing the script entry screen and a DELETE SCRIPT button 114 for deleting a script program 40.

Referring again to FIG. 2, the report generator 54 is designed to generate a patient report 58 from the responses 42 and the device measurements 44 received in the server 18. The patient report 58 is displayed on the workstation 20. FIG. 10 shows a sample patient report 58 produced by the report generator 54 for a selected patient. The patient report 58 includes a graph 116 of the device measurements 44 received from the patient, as well as a listing of the responses 42 received from the patient. Specific techniques for writing a report generator program to display data in this manner are well known in the art.

The operation of the preferred embodiment is illustrated in FIG. 1-12. FIG. 11A is a flow chart illustrating steps included in the monitoring application executed by the server 18. FIG. 11B is a continuation of the flow chart of FIG. 11A. In step 202, the server 18 determines if new script information has been entered through the script entry screen 56. If new script information has not been entered, the server 18 proceeds to step 206. If new script information has been entered, the server 18 proceeds to step 204.

As shown in FIG. 5, the script information includes a set of queries, and for each of the queries, corresponding response choices. The script information also includes a selected monitoring device type from which to collect device measurements 44. The script information further includes a prescribed connection time for each apparatus to establish a subsequent communication link to the server 18. The script information is generally entered in the server 18 by a healthcare provider, such as the patients' physician or case manager. Of course, any person desiring to communicate with the patients may also be granted access to the server 18 to create and assign script programs 40. Further, it is to be understood that system 16 may include any number of remote interfaces for entering script generation and script assignment information in the server 18.

In step 204, the script generator 50 generates a script program from the information entered in the screen 56. The script program is stored in the database 38. Steps 202 and 204 are preferably repeated to generate multiple script programs, e.g., a script program for diabetes patients, a script program for asthma patients, etc. Each script program corresponds to a respective one of the sets of queries entered through the script entry screen 56. Following step 204, the server 18 proceeds to step 206.

In step 206, the server 18 determines if new script assignment information has been entered through the assignment screen 57. If new script assignment information has not been entered, the server 18 proceeds to step 210. If new script assignment information has been entered, the server 18 proceeds to step 208. As shown in FIG. 7, the script programs are assigned to each patient by selecting a script program through check boxes 106, selecting the patients to whom the selected script program is to be assigned through check boxes 108, and pressing the ASSIGN SCRIPT button 112. When button 112 is pressed, the script assignor 52 creates for each patient selected in the check boxes 108 a respective pointer to the script program selected in the check boxes 106. In step 208, each pointer is stored in the look-up table 46 of the database 38. Following step 208, the server 18 proceeds to step 210.

In step 210, the server 18 determines if any of the apparatuses are remotely connected to the server. Each patient to be monitored is preferably provided with his or her own remotely programmable apparatus, which has the patient's unique identification code, stored therein. Each patient is thus uniquely associated with a respective one of the apparatuses. If none of the apparatuses is connected, the server 18 proceeds to step 220. If an apparatus is connected, the server 18 receives from the apparatus the patient's unique identification code in step 212. In step 214, the server 18 receives from the apparatus 26 the query responses 42, device measurements 44, and script identification code recorded during execution of a previously assigned script program. The script identification code identifies to the server 18 which script program was executed by the apparatus to record the query responses 42 and device measurements 44. The responses, device measurements, and script identification code are stored in the database 38.

In step 216, the server 18 uses the patient identification code to retrieve from the table 46 the pointer to the script program assigned to the patient. The server 18 then retrieves the assigned script program from the database 38. In step 218, the server 18 transmits the assigned script program to the patient's remotely programmable apparatus through the communication network 24. Following step 218, the server 18 proceeds to step 220.

In step 220, the server 18 determines if a patient report request has been received from the workstation 20. If no report request has been received, the server 18 returns to step 202. If a report request has been received for a selected patient, the server 18 retrieves from the database 38 the measurements 44 and query responses 42 last received from the patient, step 222. In step 224, the server 18 generates and displays the patient report 58 on the workstation 20. As shown in FIG. 10, the report 58 includes the device measurements 44 and query responses 42 last received from the patient. Following step 224, the server 18 returns to step 202.

FIG. 12A-12B illustrate the steps included in the script program executed by the apparatus 26. Before the script program is received, the apparatus 26 is initially programmed with the patient's unique identification code and the script interpreter used by microprocessor 76 to execute the script program. The initial programming may be achieved during manufacture or during an initial connection to the server 18. Following initial programming, the apparatus 26 receives from the server 18 the script program assigned to the patient associated with the apparatus 26. The script program is received by the modem 86 through a first communication link and stored in the memory 80.

In step 302, microprocessor 76 assigns a script identification code to the script program and stores the script identification code in the memory 80. The script identification code is subsequently transmitted to the server 18 along with the query responses 42 and the device measurements 44 to identify to the server 18 which script program was most recently executed by apparatus 26. In step 304, the microprocessor 76 lights LED 74 to notify the patient that he or she has unanswered queries stored in the apparatus 26. The LED 74 preferably remains lit until the patient answers the queries. In step 306, the microprocessor 76 erases from the memory 80 the last set of query responses recorded.

In step 308, the microprocessor 76 prompts the patient by displaying on the display 64 “ANSWER QUERIES NOW? PRESS ANY BUTTON TO START”. In step 310, the microprocessor 76 waits until a reply to the prompt is received from the patient. When a reply is received, the microprocessor 76 proceeds to step 312. In step 312, the microprocessor 76 executes successive display and input commands to display the queries and response choices on the display 64 and to receive responses to the queries.

FIG. 8 illustrates a sample query and its corresponding response choices as they appear on the display 64 The response choices are positioned on the display 64 such that each response choice is located proximate a respective one of input buttons 70A-D. In the preferred embodiment, each response choice is displayed immediately above a respective input button 70A-D. The patient presses the button 70A-D corresponding to his or her response. The microprocessor 76 stores each response in the memory 80.

In steps 314-318, the microprocessor 76 executes commands to collect the device measurements 44 from a selected the monitoring device 28. The script program specifies the selected monitoring device from which to collect the measurements. In step 314, the microprocessor 76 prompts the patient to connect the selected monitoring device 28, for example a blood glucose meter, to one of device jacks 68A-C. A sample prompt is shown in FIG. 9. In step 316, the microprocessor 76 waits until a reply to the prompt is received from the patient. When a reply is received, the microprocessor 76 proceeds to step 318. In step 318, the microprocessor 76 collects device measurements 44 from the monitoring device 28 through the interface 90. The measurements 44 are stored in the memory 80.

In step 320, the microprocessor 76 prompts the patient to connect the apparatus 26 to the telephone jack 22 so that the apparatus 26 may connect to the server 18 at the prescribed connection time. In step 322, the microprocessor 76 waits until a reply to the prompt is received from the patient. When a reply is received, the microprocessor 76 turns off the LED 74 in step 324. In step 326, the microprocessor 76 waits until it is time to connect to the server 18. The microprocessor 76 compares the connection time specified in the script program to the current time output by the clock 84.

In step 328, the microprocessor 76 establishes a subsequent communication link between the apparatus 26 and the server 18 through the modem 86 and the communication network 24. If the connection fails for any reason, the microprocessor 76 repeats step 328 to get a successful connection. In step 330, the microprocessor 76 transmits the device measurements 44, query responses 42, script identification code, and patient identification code stored in the memory 80 to the server 18 through the subsequent communication link. In step 332, the microprocessor 76 receives through the communication network 24 a new script program from the server 18. The new script program is stored in the memory 80 for subsequent execution by the microprocessor 76. Following step 332, the script program ends.

One advantage of the monitoring system of the present invention is that it allows each patient to select a convenient time to respond to the queries, so that the monitoring system is not intrusive to the patient's schedule. A second advantage of the monitoring system is that it incurs very low communications charges because each remote apparatus connects to the server 18 at times when communication rates are lowest. Moreover, the cost to manufacture each remote the apparatus 26 is very low compared to personal computers or internet terminals, so that the monitoring system is highly affordable.

A third advantage of the monitoring system is that it allows each apparatus 26 to be programmed remotely through script programs 40. Patient surveys, connection times, display prompts, selected monitoring devices, patient customization, and other operational details of each apparatus 26 may be easily changed by transmitting a new script program 40 to apparatus 26. Moreover, each script program 40 may be easily created and assigned by remotely accessing the server 18 through the Internet. Thus, the invention provides a powerful, convenient, and inexpensive system for remotely monitoring a large number of patients.

FIG. 13-15 illustrate a second embodiment of the invention in which each remotely programmable apparatus includes all of the functionality of the first embodiment described above while also including speech recognition and speech synthesis functionality. FIG. 13 shows a perspective view of the remotely programmable apparatus 27 according to the second embodiment. The apparatus 27 includes a speaker 72 for audibly communicating queries and prompts to the patient. The apparatus 27 also includes a microphone 118 for receiving spoken responses to the queries and prompts. The apparatus 27 may optionally include a display 64 for displaying prompts to the patient, as shown in FIG. 14.

FIG. 15 is a schematic block diagram illustrating the components of the apparatus 27 in greater detail. The apparatus 27 is similar in design to the apparatus 26 of the preferred embodiment except that the apparatus 27 includes an audio processor chip 120 in place of the microprocessor 76. The audio processor chip 120 is preferably an RSC-164 chip commercially available from Sensory Circuits Inc. of 1735 N. First Street, San Jose, Calif. 95112.

The audio processor chip 120 has a microcontroller 122 for executing script programs received from the server 18. A memory 80 is connected to the microcontroller 122. Memory 80 stores the script programs and a script interpreter used by the microcontroller 122 to execute the script programs. The memory 80 also stores measurements received from the monitoring device 28, responses to the queries, script identification codes, and the patient's unique identification code.

The audio processor chip 120 also has built in speech synthesis functionality for synthesizing queries and prompts to a patient through the speaker 72. For speech synthesis, the chip 120 includes a digital to analog converter-(DAC) 142 and an amplifier 144. The DAC 142 and the amplifier 144 drive the speaker 72 under the control of the microcontroller 122.

The audio processor chip 120 further has built in speech recognition functionality for recognizing responses spoken into the microphone 118. Audio signals received through the microphone 118 are converted to electrical signals and sent to a preamp and gain control circuit 128. The preamp and gain control circuit 128 is controlled by an automatic gain control circuit 136, which is in turn controlled by the microcontroller 122. After being amplified by the preamp 128, the electrical signals enter the chip 120 and pass through a multiplexer 130 and an analog to digital converter (ADC) 132. The resulting digital signals pass through a digital logic circuit 134 and enter microcontroller 122 for speech recognition.

The audio processor chip 120 also includes a RAM 138 for short-term memory storage and a ROM 140, which stores programs executed by the microcontroller 122 to perform speech recognition and speech synthesis. The chip 120 operates at a clock speed determined by a crystal 126. The chip 120 also includes a clock 84 that provides the current date and time to the microcontroller 122. As in the preferred embodiment, the apparatus 27 includes an LED 74, display driver 82, modem 86, and device interface 90, all of which are connected to the microcontroller 122.

The operation of the second embodiment is similar to the operation of the preferred embodiment except that queries, response choices, and prompts are audibly communicated to the patient through the speaker 72 rather than being displayed to the patient on the display 64. The operation of the second embodiment also differs from the operation of the preferred embodiment in that responses to the queries and prompts are received through the microphone 118 rather than through user input buttons.

The script programs of the second embodiment are similar to the script program shown in FIG. 6A-6B, except that each display command is replaced by a speech synthesis command and each input command is replaced by a speech recognition command. The speech synthesis commands are executed by the microcontroller 122 to synthesize the queries, response choices, and prompts through speaker 72. The speech recognition commands are executed by the microcontroller 122 to recognize responses spoken into microphone 118.

For example, to ask the patient how he or she feels and record a response, the microcontroller 122 first executes a speech synthesis command to synthesize through the speaker 72 “How do you feel? Please answer with one of the following responses: very bad, bad, good, or very good.” Next, the microcontroller 122 executes a speech recognition command to recognize the response spoken into the microphone 118. The recognized response is stored in the memory 80 and subsequently transmitted to the server. Other than the differences described, the operation and advantages of the second embodiment are the same as the operation and advantages of the preferred embodiment described above.

Although the first and second embodiments focus on querying individuals and collecting responses to the queries, the system of the invention is not limited to querying applications. The system may also be used simply to communicate messages to the individuals. FIG. 16-19 illustrate a third embodiment in which the system is used to perform this automated messaging function. In the third embodiment, each script program contains a set of statements to be communicated to an individual rather than a set of queries to be answered by the individual Of course, it will be apparent to one skilled in the art that the script programs may optionally include both queries and statements.

The third embodiment also shows how the queries and statements may be customized to each individual by merging personal data with the script programs, much like a standard mail merge application. As mentioned above, the individual may be identified for selection of individualized information either through an individual identification code associated with the remote apparatus 26 and stored in memory 80. Referring to FIG. 16, personal data relating to each individual is preferably stored in the look-up table 46 of the database 38. By way of example, the data may include each individual's name, the name of each individual's physician, test results, appointment dates, or any other desired data. As in the preferred embodiment, the database 38 also stores generic script programs 40 created by the script generator 50.

The server 18 includes a data merge program 55 for merging the data stored in table 46 with generic script programs 40. The data merge program 55 is designed to retrieve selected data from table 46 and to insert the data into statements in generic script programs 40, thus creating custom script programs 41. Each custom script program 41 contains statements that are customized to an individual. For example, the statements may be customized with the individual's name, test results, etc. Examples of such customized statements are shown in FIG. 17-18.

The operation of the third embodiment is similar to the operation of the preferred embodiment except that the script programs are used to communicate messages to the individuals rather than to query the individuals. Each message is preferably a set of statements. Referring to FIG. 19, the statements may be entered in the server 18 through the script entry screen 56, just like the queries of the preferred embodiment.

Each statement preferably includes one or more insert commands specifying data from table 46 to be inserted into the statement. The insert commands instruct the data merge program 55 to retrieve the specified data from the database 38 and to insert the data into the statement. For example, the insert commands shown in FIG. 19 instruct the data merge program 55 to insert a physician name, an appointment date, a patient name, and a test result into the statements. As in the preferred embodiment, each statement may also include one or more response choices, which are entered in fields 96.

Following entry of the statements and response choices, CREATE SCRIPT button 102 is pressed. When the button 102 is pressed, the script generator 50 generates a generic script program from the information entered in the screen 56. The generic script program is similar to the script program shown in FIG. 6A-6B, except that the display commands specify statements to be displayed rather than queries. Further, the statements include insert commands specifying data to be inserted into the script program. As in the preferred embodiment, multiple script programs are preferably generated, e.g., a generic script program for diabetes patients, a generic script program for asthma patients, etc. The generic script programs are stored in the database 38.

Following generation of the generic script programs, the server 18 receives script assignment information entered through the script assignment screen 57. As shown in FIG. 7, the script programs are assigned by first selecting one of the generic script programs through the check boxes 106, selecting individuals through the check boxes 108, and pressing the ASSIGN SCRIPT button 112. When the button 112 is pressed, the data merge program 55 creates a custom script program 41 for each individual selected in check boxes 108.

Each custom script program 41 is preferably created by using the selected generic script program as a template. For each individual selected, the data merge program 55 retrieves from the database 38 the data specified in the insert commands. Next, the data merge program 55 inserts the data into the appropriate statements in the generic script program 40 to create a custom script program 41 for the individual. Each custom script program 41 is stored in the database 38.

As each custom script program 41 is generated for an individual, the script assignor 52 assigns the script program 41 to the individual. This is preferably accomplished by creating a pointer to the custom script program and storing the pointer with the individual's unique identification code in the table 46. When the individual's remotely programmable apparatus connects to the server 18, the server 18 receives from the remotely programmable apparatus 26 the individual's unique identification code. The server 18 uses the unique identification code to retrieve from the table 46 the pointer to the custom script program assigned to the individual. Next, the server 18 retrieves the assigned script program from the database 38 and transmits the script program to the individual's remotely programmable apparatus 26 through the communication network 24.

The apparatus receives and executes the script program. The execution of the script program is similar to the execution described in the preferred embodiment, except that statements are displayed to the individual rather than queries. FIG. 17-18 illustrate two sample statements as they appear on the display 64. Each statement includes a response choice, preferably an acknowledgment such as “OK”. After reading a statement, the individual presses the button 70A-D corresponding to the response choice to proceed to the next statement. Alternatively, the script program may specify a period of time that each statement is to be displayed before proceeding to the next statement. The remaining operation of the third embodiment is analogous to the operation of the preferred embodiment described above.

Although it is presently preferred to generate a custom script program 41 for each individual as soon as script assignment information is received for the individual, it is also possible to wait until the individual's apparatus 26 connects to the server 18 before generating the custom script program 41. This is accomplished by creating and storing a pointer to the generic script program 40 assigned to the individual, as previously described in the preferred embodiment. When the individual's apparatus 26 connects to the server 18, the data merge program 55 creates a custom script program 41 for the individual from the generic script program 40 assigned to the individual. The custom script program 41 is then sent to the individual's apparatus 26 for execution.

ALTERNATE EMBODIMENTS

In an alternate embodiment, when the user or patient (the terms user and patient are used interactively) activates the user input button 70E (hereinafter the red button) a command signal is sent to the processor 76. The processor 76 dial a preset phone number according to the command signal. The preset phone number is that of an answering service at the server 18 or at a workstation 20. The answering service identifies the patient or user associated with the remote apparatus 26 that generated the call based on an identifier sent with the call and user information stored in memory in the database (similar to caller ID). The system (server 18 or workstation 20) that receives the call then retrieves patient information with previous patient/user responses stored at the server's database 38, within memory at the workstation 20, or at some other remotely located storage site. The retrieved patient information is displayed to a live person who is in telephonic communication with the patient. This allows the patient to be placed in immediate contact with a person who has displayed before them the patient's personal health information or other patient historical information. The person receiving the call provides effective communication with the patient, because of the ability to view pertinent information.

In an alternate embodiment, an automated answering service is the recipient of the call made by the remote apparatus 26. The automated answering service asks a series of questions according to the retrieved patient information in order to triage the patient toward different actions depending upon the situation. The patient information also includes previous patient interactions with the automated answering service.

The system receiving the call process patient responses according to the content associated with the question asked. Content is one of the following categories: symptoms; behavior; knowledge. The categories include such things as requests for service or product orders. In one example, the automated answering service asks “do you have difficulty breathing? press the red button if you are.” If the patient then presses the red button, the call is forwarded to a case manager or a nurse on call.

In another example, red button selection is associated with a request for service. When the red button is pressed, the automated answering service asks “do you need someone to change your bed? press the red button if yes.” If the patient presses the red button, a home care agency coordinating ancillary daily activity services is notified or is forwarded the call. Other service companies, such as transport companies or concierge service companies, are other possible recipients of forwarded calls depending what actions are available to the patients.

The automated answering service is dynamically adaptable based on previous interactions with the automated answering service. For example, the past couple of times the patient activated the red button and answered the question(s), the patient was connected to an emergency health care worker. If the worker determined through review questions of the patient's present condition, maybe information generated by the monitoring device sent over the network 24 to a workstation operated by the worker, and retrieved patient information that no emergency existed, the worker records this situation into the patient's records. If the patient's record includes a number of false alarms that exceed a predetermined limit over a period of time, the automated answering service reprograms itself so that the next time the patient activates the red button the patient is directly connected to a live person that is designated for non-emergency patient interaction or to other questions that direct the patient to the person designated for non-emergency patient interaction. This frees-up emergency healthcare workers from dealing with someone who has a history of not needing their expertise.

FIGS. 20 and 21 illustrate alternate embodiments of the invention illustrated in FIG. 1. In FIG. 20, the remote apparatus 26 is a personal computer including a processor and a user interface, e.g., display, keyboard, mouse, or other input and output devices (not all shown), that receives the script program, processes the script program and presents the script program for user interaction. For example, the script program requires that the personal computer present an image of a stand-alone remote apparatus 350, such as the Health Buddy™, produced by Health Hero Network, Inc., on the display. The user then interacts with the displayed image of the stand-alone remote apparatus by operating the user interface(s) of the personal computer to select displayed responses. The displayed image of the stand-alone remote apparatus presents a virtual image with the same functionality as the apparatuses 26 and 27, as described above in FIG. 3 and 13. It can be appreciated to those of ordinary skill in the art that the system of FIG. 20 provides all or part of the functionality of the apparatuses shown in FIG. 3 and 13, but does it on a personal computer.

FIG. 21 includes all the components of the FIG. 1 and a digital television network 36 in communication with the server 18 and the remote apparatus 26. The remote apparatus 26 of FIG. 21 is an interactive television system that includes a processing unit 33, such as a satellite broadcast receiving, set-top processor with OpenTV signal processing software, a display 34, such as a television set, and a user interface 35, such as a remote control. The remote apparatus 26, through the processing unit 33, is coupled to the communication network 24, the digital television network 36 and the monitoring device 28.

The processing unit 33 includes a CPU, memory and embedded software for receiving and processing both digital entertainment and advertisement content and digital script programs. Also, the processing unit 33 allows the user to view the entertainment and advertisement content, such as television programming, and interact with (i.e., respond to) the script programs. The script program(s) sent from the server 18 are viewable on the display 34 as they would appear on the display 64 of apparatus 26 or are viewed on a portion of the display 34. For example, the question with options shown in FIG. 8 would appear on the display 34. The user makes a selection of one of the choices by using the user interface 35, i.e., giving voice commands that are processed by a voice recognition system, controlling and activating a cursor, etc. Example methods of making a selection are to control a cursor icon on the display screen of the display 34 and activate the cursor icon when it is co-located with one of the choices, to assign different keyboard keys are designated as a different one of the displayed choices. Another method is to have the user interface include voice actuation software for processing user voice commands that request selection of a desired choice.

With respect to this invention, a “broadcast” includes any form of delivering the content from a source to many viewers, including transmission over the airwaves or via cable, the Internet, a closed-circuit network, or other means of communication. A “broadcast” does not require multiple persons to watch at once, but rather can include multiple individual and independent viewings, such as in the form of video on demand or access to web pages. Moreover, the term “broadcast” may include a single tailored transmission from a source to a single intended viewer. Accordingly, while a “broadcast” may include a transmission from one point to multiple recipients, it is not limited to that case. Likewise, with respect to this invention, a “broadcast” is “transmitted” in any of the above forms.

The processing unit 33 is a multimedia processor that receives transmitted broadcast programs from a digital broadcast network 36 via a communication link, such as a satellite or cable link. The processing unit 33 also transmits as well as receives data via the communication network 24. In addition, the multimedia processor has expansion ports to support additional user interface and other devices, such as keyboards, joysticks, trackballs, and to accept add-on circuits for enhanced sound, video, or processing performance.

FIG. 22 is an example for illustrative purposes only of a method for increasing user use of script programs by allowing the user to quickly access the script program during viewing of an entertainment or advertisement program in an interactive TV system. FIG. 22 illustrates a process performed by the system shown in FIG. 21. At block 400, the server 18 generates an interactive script program. In an alternate embodiment, the script program is fully or partially created at another remotely coupled computer, such as workstation 20, and added to multimedia content, then the script program and multimedia content is sent to the server 18 In one embodiment, the script program is specialized for a specific user according to a health care professional request or to a predefined health regimen based on user profile information. In an alternate embodiment the script program is generated in relation to entertainment or advertisement content that it will later be broadcasted with. Next, at block 402, the generated script program is combined with digitally produced entertainment or advertisement content, i.e., a multimedia presentation, to create digital broadcast programming. The digital broadcast programming is then broadcasted or transmitted over the chosen communication link, block 406. At block 408, the processing unit 33 receives and processes the digital broadcast programming then presents the entertainment or advertisement content and the script program. The processing unit 33 as directed by software instructions previously imbedded in the processing unit 33, included with the digital broadcast programming or a combination of both processes the digital broadcast programming by determining its content and how that content is to be presented on the display 34. For example, the processing unit 33 determines if the script program is to be referenced by an icon over the entertainment content or displayed on a portion of the display with the entertainment content. As part of the presentation from block 408 the user is informed of any script program included in the broadcast programming, block 410. Then, at block 426, the user is presented with the script program after the user selects or activates the indication, e.g., an icon. Lastly, at block 428, the user interacts with the script program by responding to any queries and inputting any requested measurements or other responses. The interaction with the script program is similar to that described above for the system of FIG. 1. In another embodiment, the script program is presented in conjunction with the entertainment or advertisement content without requiring the user to select or activate an indicator.

FIGS. 23 and 24 are example images presented on the displays 34 in the system illustrated in FIG. 22. FIG. 23 illustrates a screen shot of a broadcast program 250 that includes entertainment content 252, such as a video program on heart surgery, and an icon 254. The icon 254 indicates that a script program is available for the viewer. In order for the viewer to access the script program, the viewer selects the icon 254. The program broadcasted from the broadcast network 24 may have included an entire script program or just a portion of a script program. If the entire script program were included with the broadcast, selection of the icon 254 would begin execution of the script program that was received. However, if only a portion of the script program was received and, for example, that portion only required that the icon 254 be displayed with the entertainment content 252, selection of the icon 254 sends a signal through a back channel, i.e., the link to the communication network 24, to the server 18. The sent signal is a request for the rest of or just more of the script program to be sent to the apparatus 26 either through broadcast network 36 or communication network 24.

FIG. 24 illustrates a screen shot of a broadcast program 250 that includes entertainment content 252 and a section that presents a script program image 256. In this example the viewer can interact with the script program image 256 while simultaneously viewing the entertainment content 252. As in FIG. 22 above, the script program may be fully or partially received and processed by the processing unit 33. And again, if it has only been partially received, viewer interaction at a predetermined spot in the displayed interaction process automatically initiates a request through the back channel to the server 18 for the rest of the script program.

Because the broadcast program 250 is a digital broadcast, it can be readily appreciated by those of ordinary skill in the art of digital interactive television, that the entertainment content may be paused until viewer completion of the script program. The script program which can be sent with an initial broadcast program or during presentation of a previously delivered broadcast program that is being presented on the display may also include instructions to pause the entertainment content until viewer completion of the script program at which time the entertainment program resumes. For example, the viewer's/patient's doctor creates a message at the workstation 20 requesting that the patient as soon as possible send blood pressure measurement readings. This message is generated as a new script program at the server 18. The server 18 then sends the new script program to the broadcast network 36. The broadcast network 36 includes hardware and/or software mechanisms for saving the new script program for inclusion with the next patient requested entertainment or advertisement content to be sent to the patient in the case where the patient is not presently viewing a broadcast from the broadcast network 36 or for just broadcasting the script program alone. If the patient is presently viewing entertainment or advertisement content received from the broadcast network 36, the new script program is received, processed and presented to the patient by the apparatus 26. The received new script program may include instructions to pause the presently viewed entertainment or advertisement content.

If the script program is specified for a particular patient, the server 18 or broadcast network 36 encodes the script program for that patient. The apparatus of that patient includes a decoding component within the processing unit 33 for decoding the encoded script program received with the broadcast program. For example, the script program includes a weight history chart of the patient. The present invention wants only the patient corresponding to this weight history chart to have viewing access. Therefore, it is encoded for transmission and encoded only by the corresponding patient's apparatus 26.

It can be appreciated to one of ordinary skill in the art that this decision, as with the other flow diagram decisions, can be an inherent decision in the processing of the received entertainment/advertisement programming and script program.

The embodiments of FIGS. 20 and 21 may also be implemented without any entertainment or advertisement content and perform the functions as to those that illustrated and described for FIG. 1.

The script programs or entertainment/advertisement programming can be designed for education and training of users. For example, the script program or information content could show a user, such as a patient, how to effectively use a medical treatment device. Also, the script program or information content could describe to users, such as doctors, nurses or anyone other professional, different treatment styles, plans or new medication.

A wide variety of information may be collected, delivered and analyzed in accordance with the present invention. For example, abandoned U.S. patent application Ser. No. 09/378,188 which is a continuation of U.S. Pat. No. 5,985,559, and unassigned U.S. Patent Application which is a continuation of U.S. patent application Ser. No. 09/041,809 (the text of which are hereby incorporated by reference) discusses information related to disease causes, treatments, and cures. Script programs include a set of queries for requesting data on lifestyle, environment, behavior, drug compliance, drug response over time, and other aspects. This data is then analyzed to identify trends and establish subgroups with similar responses.

Individuals' behavioral and environmental information in conjunction with their gene sequence information is analyzed to find drug candidates and drug targets. Individuals previously designated as having a high risk for developing a particular disease are each given an apparatus 26. Queries related to the individuals' behavior and environment are included in a script program sent from a server 18 to the apparatus 26 or from a server 18 to the apparatus 26 through a broadcast network 36. The individuals' responses are sent back to the server 18. The process of collecting individuals' information can take place over a long period of time to ensure accurate data and to allow researchers to observe progression of the disease. A data mining program on the server analyzes the individuals' behavioral and environmental information, as well as their gene sequence information. Differences in gene sequence information, or in behavioral and environmental factors between individuals who show a severe disease phenotype and those who show a mild severe disease phenotype can then be distinguished and used to develop new drug candidates, targets, or general treatments.

Genetic testing allows an individual to determine whether or not he or she has a predisposition to a certain disease. The degree of expressivity of a certain disease will be determined in part by an individual's environment and lifestyle. The environment and lifestyle information is retrieved from responses to queries sent from the server 18 to the apparatus 26 or from the server 18 to the apparatus 26 through the broadcast network 36. The present invention interprets a patient's gene sequence information and his or her environment and lifestyle to come up with a personalized prognosis. This procedure can be repeated many times over the course of a disease state to monitor a patient's condition. In addition, disease-causing pathogens can also have their genes sequenced. Using these sequences in combination with information about a patient's environment and lifestyle, the present invention comes up with a personalized treatment plan, ideally to eliminate the pathogen. It is also possible to use the procedure described above to monitor the course of the disease-state produced by a pathogen. Finally, a genotype-to-phenotype map or database can be constructed for developing better treatments and aiding in research.

Although the above description contains many specificities, these should not be construed as limitations on the scope of the invention but merely as illustrations of some of the presently preferred embodiments. Many other embodiments of the invention are possible. For example, the scripting language and script commands shown are representative of the preferred embodiment. It will be apparent to one skilled in the art many other scripting languages and specific script commands may be used to implement the invention.

Moreover, the invention is not limited to the specific applications described. The system and method of the invention have many other applications both inside and outside the healthcare industry. For example, pharmaceutical manufacturers may apply the system in the clinical development and post marketing surveillance of new drugs, using the system as an interactive, on-line monitoring tool for collecting data on the efficacy, side effects, and quality of life impact of the drugs. Compared to the current use of labor-intensive patient interviews, the system provides a fast, flexible, and cost effective alternative for monitoring the use and effects of the drugs.

The system may also be used by home healthcare companies to enhance the service levels provided to customers, e.g., panic systems, sleep surveillance, specific monitoring of disease conditions, etc. Alternatively, the system may be used to monitor and optimize the inventory of home-stationed health supplies. As an example, the system may be connected to an appropriate measuring device to optimize timing of oxygen tank delivery to patients with chronic obstructive pulmonary disease (COPD).

The system and method of the invention also have many applications outside the healthcare industry. For example, the system may be used for remote education over the Internet, facilitating educational communication with children or adult trainees who lack access to sophisticated and expensive computer equipment. The system may also be used by law enforcement officers to perform on-line surveillance of individuals on probation or parole.

In an alternate embodiment, the software and hardware components of any one of the remote apparatuses 26 or 27 are incorporated directly into a monitoring device. This allows a patient to only have to interact with one device for their entire health monitoring needs.

Further, the invention has numerous applications for gathering data from remotely located devices. For example, the system may be used to collect data from smart appliances, such as identification check systems. Examples of appliances that are used as smart applications are a refrigerator, a telephone, a stove, a clock radio, a VCR, or any other electrical or non-electrical device including the monitoring device 28. The smart appliance includes some or all of the components of the remote apparatuses 26 or 27 as illustrated in FIGS. 4 and 15. The smart appliance with the necessary hardware or software components provides all the interactive capabilities described and shown for remote apparatuses 26 or 27, see FIGS. 8-12, 14, 17 and 18. In one embodiment, the assigned scripts are in the form of a recorded voice that is sent over the communication network (e.g., voice over IP) to the appliance or remote apparatus. Also, the user responds to the voice scripts through activation of buttons according to instructions in the voice scripts. The verbal responses by the user are sent to the server or workstation over the communication network (e.g., voice over IP). The server or workstation includes a voice recognition component for interpreting the user's verbal responses, records the responses and determines the next question or request (verbal or otherwise) to be sent to the user according to the responses. Live voice communication is also possible between the remote apparatus and the server or workstation over the communication network. In other embodiments, the smart appliance may automatically perform a self diagnosis in response to data transmissions received from the remote apparatus 26 or 27. The self diagnosis may relate to an operational performance of the smart appliance. The data transmissions that initiate the self diagnosis may be created in the server 18, transmitted to the apparatus 26 or 27 and then sent to the smart appliance.

Also the monitoring device includes a communication component for allowing the monitoring device to send data directly to the server 18. The server 18 then sends the monitoring device data to the patient's smart appliance for display to the patient. In an alternate additional setup, the monitoring device sends the data to the smart apparatus.

Alternatively, the system may be applied to the remote monitoring of facilities, including safety and security monitoring, or to environmental monitoring, including pollution control and pipeline monitoring. Many other suitable applications of the invention will be apparent to one skilled in the art.

Therefore, the scope of the invention should be determined not by the examples given, but by the appended claims and their legal equivalents. 

1. A system comprising: a primary device in communication with a server through a communications channel, said server (i) configured to generate data transmissions for said primary device and (ii) comprising a script generator adapted to (a) generate one or more computer executable commands comprising any of one or more queries, one or more instructions, and one or more messages and (b) incorporate said computer executable commands in said data transmissions, said computer executable commands configured to be executable by a secondary device, wherein said primary device is adapted to (i) detect an availability of said data transmissions for the primary device on said server, said data transmissions comprising (a) said executable commands, said executable commands comprising a self diagnostics routine for a secondary device and (b) one or more digital speech files, (ii) receive said data transmissions by said primary device from said server, and (iii) transmit said data transmissions to said secondary device; and said secondary device operatively connected to said primary device, wherein said secondary device (i) is adapted to (a) automatically perform self diagnosis relating to an operational performance of said secondary device in response to said self diagnostics routine received from said primary device, (b) generate synthesized audio transmissions through a speaker in response to said digital speech files, and (c) convey results of said self diagnostics to a user of said secondary device, and (ii) comprises a processor adapted to execute said computer executable commands to provide said self diagnostic routine.
 2. The system of claim 1, wherein both said primary device and said secondary device are housed within a single housing unit.
 3. The system of claim 1, wherein said secondary device comprises any of a household appliance and an entertainment device.
 4. The system of claim 1, wherein said secondary device comprises any of a refrigerator, a telephone, a stove, and a clock.
 5. The system of claim 1, wherein said secondary device comprises a processor adapted to collect operational data relating to said operational performance of said secondary device.
 6. The system of claim 1, wherein said secondary device is further adapted to send information to said primary device.
 7. The system of claim 6, wherein said primary device is further adapted to transmit said information to said server through said communications channel.
 8. The system according to claim 1, wherein (i) said secondary device is further configured to generate second audio information in response to second sounds received from a user and (ii) said primary device is further adapted to (a) generate responses by voice recognition of said second audio information, (b) correlate responses among a plurality of response choices conveyed by said first computer executable commands and (c) transmit said correlated response choices to said server.
 9. The method according to claim 8, wherein said server is further adapted to (i) customize second computer executable commands based on said correlated response choices and (ii) transmit said second executable commands to said primary device.
 10. A system for remote data transmission through a communications network, said system comprising: a server (i) adapted to generate and transmit data transmissions, and (ii) comprising a script generator adapted to (a) generate one or more computer executable commands comprising any of one or more queries, one or more instructions, and one or more messages and (b) incorporate said computer executable commands in said data transmissions, said data transmission comprising (i) first computer executable commands for diagnostics and (ii) digital audio speech files; and a household appliance in wireless communication with said server through said communications network, wherein said household appliance comprises a processor and is adapted to receive said data transmissions and automatically perform self diagnosis relating to operational performance of said household appliance in response to said computer executable commands, wherein said computer executable commands are (i) executable by said household appliance, (ii) generate synthesized speech through a speaker based on said digital audio speech files, (iii) and convey results of said self diagnosis.
 11. The system of claim 10, wherein said household appliance comprises an entertainment device.
 12. The system of claim 10, wherein said household appliance comprises any of a refrigerator, a telephone, a stove, and a clock.
 13. The system of claim 10, wherein said household appliance comprises a processor adapted to (i) collect operational data relating to said operational performance of said household appliance.
 14. The system of claim 10, wherein said household appliance is further adapted to transmit information to said server through said communications network.
 15. A method for self diagnosis of a device, said method comprising: detecting an availability on a server of data transmissions for a remotely programmable appliance, said server (i) configured to generate said data transmissions and (ii) comprising a script generator adapted to (a) generate one or more computer executable commands comprising any of one or more queries, one or more instructions, and one or more messages and (b) incorporate said computer executable commands in said data transmissions, said computer executable commands (A) configured to be executable by said remotely programmable appliance and (B) comprising a self diagnosis routine, wherein said data transmissions comprise said computer executable commands and one or more digital speech files; transmitting said data transmissions from said server over a communications network to said remotely programmable appliance, said remotely programmable appliance (i) being remotely located from said server and (ii) comprising a processor adapted to execute said computer executable commands; executing said self diagnosis routine on said remotely programmable appliance; automatically performing in said remotely programmable appliance said self diagnosis relating to an operational performance of said remotely programmable appliance; presenting synthesized audio transmissions to an individual through a speaker in response to said digital speech files; and conveying results of said self diagnostics to a user of said remotely programmable appliance.
 16. The method of claim 15, wherein said remotely programmable appliance comprises any of a refrigerator, a telephone, a stove, and a clock.
 17. The method of claim 15, wherein said remotely programmable appliance comprises an entertainment device.
 18. The method of claim 15, further comprising: collecting operational data in said remotely programmable appliance, said operational data relating to said operational performance of said remotely programmable appliance.
 19. The method of claim 15, further comprising: transmitting information from said remotely programmable appliance to said server through said communications network. 